The basic purpose of face detection is to identify whether and where human faces occur in an given image. Face detection is generally considered the first step of an automatic human face recognition system. But, face detection also has numerous other applications including surveillance systems and photo ID database searching. Face detection alone can also be used for applications such as automatic photo retouching. Many other uses are also possible. Known face detection techniques can generally be categorized in three categories: template-based systems, feature-based systems and color-based systems.
Template-based systems use face templates to match every possible location of the given image. The matching techniques include neural network and distribution-based face model matching. These methods locate the face based on intensity information. Hausdorff distance matching detects the faces based on edge information. These methods inherently become unreliable for different head orientation and scale. Most of them can only detect vertical and front view faces. Faces with different angles and orientations are often detected using different templates. Faces with different scales can be detected by applying the same algorithm on the gradually resized images. Unfortunately, these methods can be very time consuming.
Feature-based systems extract the potential facial features from the image, then detect the faces based on the relative positions of the features. These methods can detect the faces with wide range of lighting conditions and head orientations. However, known previous work only deals with detection of vertical faces.
Color-based systems detect a human face based on a histogram of the skin color. The detection rate can be low when presented in different lighting conditions and color background. Color based methods are often used in pre-filtering stage before applying other methods.